var editcount = 0;// 正在编辑的记录
$(function() {
	$('#test').datagrid({
		title : '消息管理',
		nowrap : false,
		striped : true,
		collapsible : true,
		url : 'findAllMessages',
		sortName : 'content',
		sortOrder : 'asc',
		remoteSort : true,
		idField : 'id',
		frozenColumns : [ [ {
			field : 'id',
			checkbox : true
		}, {
			title : '发送人',
			field : 'fromId',
			editor : {
				type : 'validatebox',
				options : {
					required : true
				}
			},
			width : 80,
			sortable : true
		}, {
			title : '接送人',
			field : 'toId',
			editor : {
				type : 'validatebox',
				options : {
					validType : 'email'
				}
			},
			width : 80,
			sortable : true
		} ] ],
		columns : [ [ {
			field : 'content',
			editor : 'text',
			title : '内容',
			width : 120,
			sortable : true
		}, {
			field : 'isRead',
			editor : 'text',
			title : '是否读取',
			width : 120,
			sortable : true
		}, {
			field : 'edate',
			editor : 'text',
			title : '日期',
			width : 120,
			sortable : true
		}, {
			field : 'ownerId',
			editor : 'text',
			title : '数据拥有方',
			width : 120,
			sortable : true
		}, {
			field : 'href',
			editor : 'text',
			title : '连接路径',
			width : 120,
			sortable : true
		}, {
			field : 'taskID',
			editor : 'text',
			title : '标示ID',
			width : 120,
			sortable : true
		}, {
			field : 'sendName',
			editor : 'text',
			title : '发送别名',
			width : 120,
			sortable : true
		} ] ],
		onBeforeEdit : function(index, row) {
			row.editing = true;
			editcount++;
		},
		onAfterEdit : function(index, row) {
			row.editing = false;
			saveRow(index, row);

		},
		onCancelEdit : function(index, row) {
			row.editing = false;
			editcount--;
		},
		pagination : true,
		rownumbers : true,
		toolbar : [ {
			id : 'btnadd',
			text : '新增',
			iconCls : 'icon-add',
			handler : inserRow
		}, {
			id : 'btnupdate',
			text : '修改',
			iconCls : 'icon-edit',
			handler : updateRow
		}, {
			id : 'btncut',
			text : '删除',
			iconCls : 'icon-cut',
			handler : deleteRow
		}, {
			id : 'btnOpenAdd',
			text : '弹出层添加',
			iconCls : 'icon-undo',
			handler : addOpenRow
		}, {
			id : 'btnOpenAdd',
			text : '弹出层修改',
			iconCls : 'icon-edit',
			handler : updateOpenRow
		}, '-', {
			id : 'btnsave',
			text : '保存',
			disabled : true,
			iconCls : 'icon-save',
			handler : function() {
				$('#test').datagrid('acceptChanges');
			}
		} ]
	});
	var p = $('#test').datagrid('getPager');
	$(p).pagination({
		onBeforeRefresh : function() {
			$('#test').datagrid('clearSelections');
		}
	});
});
/**
 * 弹出层添加记录
 */
function addOpenRow() {
	$('#w').window('open');
	$('#ff').form('clear');
}
/**
 * 弹出层修改记录
 */
function updateOpenRow(){
	alert( $('#test').datagrid('getSelected'));
	var rows = $('#test').datagrid('getSelections');
	if (rows.length == 0) {
		$.messager.alert('系统提示', '请选择记录!');
		return;
	} else if (rows.length > 1) {
		$.messager.alert('系统提示', '修改记录只能选择一条!');
		return;
	}
	var row = $('#test').datagrid('getSelected');
	if (row) {
		$('#w').window('open');
		var id = row.id;
		$('#ff').form('load', 'findMessageById?id=' + id);
	} else {
		$.messager.alert('提示信息', '请先选择要更新的记录。', 'info');
	}


}
/**
 * 新增记录(表格)
 */
function inserRow() {
	$('#btnsave').linkbutton('enable');
	if (editcount > 0) {
		$.messager.alert('系统提示', '当前还有' + editcount + '记录正在编辑，不能增加记录。');
		return;
	}
	$('#test').datagrid('appendRow', {
		id : '',
		fromId : '',
		toId : '',
		content : '',
		isRead : '',
		edate : '',
		ownerId : '',
		href : '',
		taskID : '',
		sendName : ''

	});
	var index = $('#test').datagrid('getRows').length - 1;
	$('#test').datagrid('selectRow', index);
	$('#test').datagrid('beginEdit', index);
}
/**
 * 修改表格
 */
function updateRow() {
	$('#btnsave').linkbutton('enable');
	var rows = $('#test').datagrid('getSelections');
	if (rows.length == 0) {
		$.messager.alert('系统提示', '请选择记录!');
		return;
	} else if (rows.length > 1) {
		$.messager.alert('系统提示', '修改记录只能选择一条!');
		return;
	}
	var row = $('#test').datagrid('getSelected');
	var index = $('#test').datagrid('getRowIndex', row);
	$('#test').datagrid('beginEdit', index);
}
/**
 * 保存记录
 */
function saveRow(index, row) {
	var url = 'saveOrUpdateMessage';
	var data = 'id=' + row.id + '&fromId=' + row.fromId + '&toId=' + row.toId
			+ '&content=' + row.content + '&isRead=' + row.isRead;
	var operator = '修改';
	if (row.id == null || row.id == 'null' || row.id == '')
		operator = '添加';

	$.ajax({
		async : true,
		url : url,
		data : data,
		type : 'post',
		dataType : 'json',
		timeout : 1000,
		success : function(data) {
			if (data) {
				$.messager.alert('系统提示', operator + '成功!');
				$('#test').datagrid('reload');
				$('#test').datagrid('clearSelections');
				$('#btnsave').linkbutton('disable');
				editcount--;

			} else {
				$.messager.alert('系统提示', operator + '失败!', 'error');
				$('#btnsave').linkbutton('enable');
			}
		},
		error : function(XMLHttpRequest, textStatus, errorThrown) {
			$.messager.alert('系统提示', operator + '失败，系统后台异常!', 'error');
			$('#btnsave').linkbutton('enable');
		}

	});

}
/**
 * 弹出框保存
 */
function openSaveRow() {
	if ($('#ff').form('validate')) {
		$.ajax({
			async : true,
			url : 'saveOrUpdateMessage',
			data : $("#ff").ajaxForm().formSerialize(),
			type : 'post',
			dataType : 'json',
			timeout : 1000,
			success : function(data) {
				if (data) {
					$.messager.alert('系统提示', '添加成功!');
					$('#test').datagrid('reload');
					$('#test').datagrid('clearSelections');
					$('#w').window('close');

				} else {
					$.messager.alert('系统提示', '添加失败!', 'error');
				}
			},
			error : function(XMLHttpRequest, textStatus, errorThrown) {
				$.messager.alert('系统提示', '添加失败,系统后台异常!', 'error');
			}

		});

	}
}
/**
 * 取消
 */
function cancel() {
	$('#w').window('close');
}
/**
 * 删除记录
 */
function deleteRow() {
	$('#btnsave').linkbutton('disable');
	var ids = [];
	var rows = $('#test').datagrid('getSelections');
	for ( var i = 0; i < rows.length; i++) {
		ids.push(rows[i].id);
	}
	if (ids == "") {
		$.messager.alert('系统提示', '请选择记录!');
		return;
	} else {
		$.messager.confirm('系统提示', '真的要删除吗,删除后将无法恢复?', function(choice) {
			if (choice) {
				$.ajax({
					async : true,
					url : 'deleteMessages',
					data : 'deleteIDS=' + ids,
					type : 'post',
					dataType : 'json',
					timeout : 1000,
					success : function(data) {
						if (data) {
							$.messager.alert('系统提示', '删除成功!');
							$('#test').datagrid('reload');
							$('#test').datagrid('clearSelections');

						} else {
							$.messager.alert('系统提示', '删除失败!', 'error');
						}
					},
					error : function(XMLHttpRequest, textStatus, errorThrown) {
						$.messager.alert('系统提示', '删除失败，系统后台异常!', 'error');
					}

				});
			}
		});
	}

}
function resize() {
	$('#test').datagrid('resize', {
		width : 700,
		height : 400
	});
}
function getSelected() {
	var selected = $('#test').datagrid('getSelected');
	if (selected) {
		alert(selected.id + ":" + selected.fromId + ":" + selected.toId + ":"
				+ selected.isRead);
	}
}
function getSelections() {
	var ids = [];
	var rows = $('#test').datagrid('getSelections');
	for ( var i = 0; i < rows.length; i++) {
		ids.push(rows[i].id);
	}
	alert(ids.join(':'));
}
function clearSelections() {
	$('#test').datagrid('clearSelections');
}
function selectRow() {
	$('#test').datagrid('selectRow', 2);
}
function selectRecord() {
	$('#test').datagrid('selectRecord', '2c907ff33668baf4013668bafab4000b');
}
function unselectRow() {
	$('#test').datagrid('unselectRow', 2);
}
function mergeCells() {
	$('#test').datagrid('mergeCells', {
		index : 2,
		field : 'content',
		rowspan : 2,
		colspan : 2
	});
}